package com.sudo.dao.admin.mapper;

import com.sudo.common.mapper.MyMapper;
import com.sudo.dao.admin.entity.SysMenu;
import com.sudo.dao.admin.entity.SysRoleMenu;
import com.sudo.dao.admin.model.vo.SimpleSysMenuVO;
import com.sudo.dao.admin.model.vo.SysMenuVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysMenuMapperCustom extends MyMapper<SysMenu> {

    List<SysMenu> findMyMenuByMailOrUsername(@Param("mailOrUsername") String mailOrUsername);

    /**
     * @param type 0：获取根菜单以下的菜单，-1：获取包含根菜单以及以下的菜单
     * @return list
     */
    List<SysMenuVO> getCascadeSysMenuList(@Param("type") String type);

    /**
     * 简单版级联菜单
     *
     * @param type 0：获取根菜单以下的菜单，-1：获取包含根菜单以及以下的菜单
     * @return list
     */
    List<SimpleSysMenuVO> getSimpleCascadeSysMenuList(@Param("type") String type, @Param("status") String status);

    List<SysRoleMenu> getRoleMenuByMenuCodeAndRoleStatus(@Param("menuCode") String menuCode, @Param("roleStatus") String roleStatus);
}
